/**
 * ____________________ *
 *  ____ ____ ____ _  _ *
 *  |___ [__] |--< |\/| *
 * ____________________ *
 *
 * THE CORM PROJECT
 *
 * This file may only be used in accordance with the
 * terms of the Academic Free License ("AFL") v. 3.0,
 * as published by the Open Software Initiative.  A
 * copy of this license is provided in this source
 * release, and may be viewed online at:
 *
 * (http://www.opensource.org/licenses/afl-3.0.php)
 */
package org.eremite.corm.party.relationship;

import org.eremite.corm.DefaultArchetype;
import org.eremite.corm.party.Party;

import java.util.Set;

public class DefaultPartyRole
        extends DefaultArchetype
        implements PartyRole {

    private PartyRoleIdentifier id;
    private Party party;
    private PartyRoleType type;
    private Set<AssignedResponsibility> assignedResponsibilities;
    private Set<PartyRelationship> partyRelationships;

    /* Default Constructor */
    public DefaultPartyRole(){}

    /* ID */
    public PartyRoleIdentifier getID() {
        return this.id;
    }
    public void setID(PartyRoleIdentifier id) {
        this.id = id;
    }

    /* PartyRole can be associated with exactly 1 Party */
    public Party getParty() {
        return this.party;
    }
    public void setParty(Party party) {
        this.party = party;
    }

    /* PartyRole has exactly one PartyRoleType */
    public PartyRoleType getPartyRoleType() {
        return this.type;
    }
    public void setPartyRoleType(PartyRoleType type) {
        this.type = type;
    }

    /* PartyRole has 0 or more AssignedResponsibilities */
    public Set<AssignedResponsibility> getAssignedResponsibilities() {
        return this.assignedResponsibilities;
    }
    public void setAssignedResponsibilities(Set<AssignedResponsibility> assignedResponsibilities) {
        this.assignedResponsibilities = assignedResponsibilities;
    }

    /* PartyRole has 0 or more PartyRelationships */
    public Set<PartyRelationship> getPartyRelationships() {
        return this.partyRelationships;
    }
    public void setPartyRelationships(Set<PartyRelationship> partyRelationships) {
        this.partyRelationships = partyRelationships;
    }

}
